﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using MongoDB.Bson.Serialization.Attributes;
using System.Runtime.Serialization;
using MongoDB.Bson;

namespace BigData.DataContracts.Objects.BigData.BaseTypes
{
    /// <summary>
    /// An represents an object which can be held in the BigData Mongo DB
    /// The current model for the Mongo Repository requires that each collection
    /// inherits from this object
    /// </summary>
    [DataContract]
    public abstract class BigDataDBObjectBase
    {
        /// <summary>
        /// The primary key for this object
        /// </summary>
        [BsonId]
        [DataMember]
        [BsonRepresentation(BsonType.ObjectId)]
        public string _id { get; set; }
    }
}
